package br.ufpe.cin.rgms.base.linhapesquisa.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import br.com.caelum.vraptor.ioc.Component;
import br.ufpe.cin.rgms.base.linhapesquisa.model.LinhaPesquisa;
import br.ufpe.cin.rgms.core.dao.impl.GenericDaoHibernateImpl;

@Component
public class LinhaPesquisaDAO extends
		GenericDaoHibernateImpl<LinhaPesquisa, Integer> {

	@Override
	protected Class<LinhaPesquisa> getDomainClass() {
		return LinhaPesquisa.class;
	}

	@SuppressWarnings("unchecked")
	public List<LinhaPesquisa> findAllByFilter(LinhaPesquisa linha) {
		Criteria criteria = session.createCriteria(LinhaPesquisa.class);
		if(linha!=null){
			if(linha.getSumario()!=null && !linha.getSumario().isEmpty()){
				criteria.add(Restrictions.eq("sumario", linha.getSumario()));
			}
			if(linha.getTitulo()!=null && !linha.getTitulo().isEmpty()){
				criteria.add(Restrictions.eq("titulo", linha.getTitulo()));
			}
		}
		return criteria.list();
	}
}
